<template>
  <!-- 未登录显示路由视图（登录页），登录后显示布局组件 -->
  <template v-if="userStore.isLoggedIn">
    <DefaultLayout />
  </template>
  <template v-else>
    <router-view />
  </template>
</template>

<script setup>
import { onMounted } from 'vue'
import { useUserStore } from '@/store/userStore'
import DefaultLayout from './components/Layout/DefaultLayout.vue'
import { getUserInfo, getPermissions } from './api/user'

const userStore = useUserStore()

// 页面加载时，若已登录则获取用户信息
onMounted(async () => {
  if (userStore.isLoggedIn) {
    try {
      // 获取用户信息
      const userInfo = await getUserInfo()
      userStore.setUserInfo(userInfo)
      // 获取用户权限
      const permissions = await getPermissions()
      userStore.setPermissions(permissions)
    } catch (error) {
      // 信息获取失败，强制登出
      userStore.logout()
    }
  }
})
</script>

<style>
/* 全局基础样式 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  background-color: #f5f7fa;
}
</style>